perm filename NS.ME[S,DOC]9 blob sn#133539 filedate 1974-12-02 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00026 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00005 00002
C00008 00003	Contents                                                       Page 0
C00011 00004	News Service                                                   Page 1
C00015 00005	The Hot Line Program--HOT                                      Page 2
C00019 00006	The News Service Program--NS                                   Page 3
C00023 00007	Keyword Expressions                                            Page 4
C00028 00008	Keyword Expressions                                            Page 5
C00033 00009	Keyword Expressions                                            Page 6
C00037 00010	Dates                                                          Page 7
C00041 00011	The Time Range                                                 Page 8
C00045 00012	The Time Range                                                 Page 9
C00049 00013	Switches                                                      Page 10
C00054 00014	Switches                                                      Page 11
C00059 00015	Presentation of the News                                      Page 12
C00064 00016	Presentation of the News                                      Page 13
C00068 00017	Presentation of the News                                      Page 14
C00073 00018	Mnemonic Commands                                             Page 15
C00077 00019	Mnemonic Commands                                             Page 16
C00081 00020	Command File Input                                            Page 17
C00085 00021	Command File Input                                            Page 18
C00089 00022	Output Files                                                  Page 19
C00093 00023	Command Summary                                               Page 20
C00097 00024	Command Summary                                               Page 21
C00101 00025	Command Summary                                               Page 22
C00105 00026	Comments on the Format of News Service Stories                Page 23
C00110 ENDMK
CāŠ—;



STANFORD ARTIFICIAL INTELLIGENCE LABORATORY                1 Nov 1974
OPERATING NOTE 72.2









                       THE NEWS SERVICE SYSTEM


                           By Martin Frost






ABSTRACT:

Stories from two  news wires (the Associated  Press and the  New York
Times News Service) are collected and stored on disk as they  come in
and  can be  read selectively  through the  use of  the  News Service
program NS.   To read  the news  using this  program, the  user types
keyword  expressions to  specify the  stories of  interest  and gives
display  commands to  have  particular stories  presented.   The News
Service system features the following: treatment of all but  the most
common words as keywords; retention of the news for a number  of days
limited  only by  disk space  available (the  user can  specify which
days' news he wants to examine); choice of reading either or  both of
the news wires; and  display news presentation for users  of Stanford
displays.

Another program, HOT, is used  to type out the news from  either wire
as it is coming in.





The Associated Press news report is made available in  these programs
for  demonstration and  research purposes  only and  caution  must be
exercised to insure  that the news is  not published or  broadcast or
publicly displayed or used for any commercial purpose.
Contents                                                       Page 0




                           C O N T E N T S


SECTION                                                          PAGE

The News Service System .  .  .  .  .  .  .  .  .  .  .  .  .  .  1
The Hot Line Program--HOT  .  .  .  .  .  .  .  .  .  .  .  .  .  1
The News Service Program--NS  .  .  .  .  .  .  .  .  .  .  .  .  2
Command lines  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3
Keyword Expressions  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3
Dates .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  6
The Time Range .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8
Switches .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  9
Presentation of the News   .  .  .  .  .  .  .  .  .  .  .  .  .  11
Mnemonic Commands .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  14
Headline Stories  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  16
Command File Input   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  17
Output Files   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  18
<ESCAPE>I Manual Interruptions   .  .  .  .  .  .  .  .  .  .  .  19
Command Summary   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  20
Using NS .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  22
Comments on the Format of News Service Stories  .  .  .  .  .  .  23
News Service                                                   Page 1



                       The News Service System


We have two news wires  (the Associated Press and the New  York Times
News Service) over which  we get national and international  news (no
local news).   The lines are  read by a  program that  takes incoming
news  stories and  files them  away on  the disk.   As each  story is
filed, it is categorized by  the words occurring in it.   To retrieve
selected stories the user types to the NS program (described below) a
keyword expression indicating what words or combinations of words the
stories of interest should (or should not) contain.

Individuals can  access the  news through two  programs, NS  and HOT.
This document  describes the  use of these  programs for  reading the
news.



                      The Hot Line Program--HOT


The  program HOT  provides the  user a  hot line  to the  news.  When
running from  a Stanford  display, HOT splits  the screen,  using one
half for each  of the two news  wires.  On other terminals  HOT types
out the news from one of  the wires--the user can select the  wire to
be typed out and can in fact switch between the wires.

To  start  up HOT,  type  the  monitor command:  HOT.   While  HOT is
running, the following commands are meaningful:

 HOT COMMAND      EFFECT

 EXIT<cr>         Exit.
 <cr>             Change the news wire being typed out.
 NYT<cr>          Type out NYT (New York Times) news only.
 AP<cr>           Type out AP (Associated Press) news only.
 <ESC>I           Redraw news text and titles on displays only.
 DISPLAY<cr>      Display both NYT and AP news on displays only.
 ?<cr>            Present this list of commands and meanings.

Each command may be abbreviated to one character.  On  displays, that
one character may  be typed with  [CONTROL] and/or [META]  instead of
followed by <cr>.  For instance, [CONTROL]E will exit.

Any of the commands above may be given in the monitor command line by
typing  "HOT;"  followed  by  the  command  desired.    For  example,
The Hot Line Program--HOT                                      Page 2


"HOT;NYT" will start up HOT  in non-display mode typing out  only the
NYT news.

If  the  hot line  is  down (for  instance  for testing  of  the news
system), then HOT  will tell you so  and then stop.  There  are times
when no news is coming in; at such times, HOT will of course type out
nothing.



                    The News Service Program--NS


The program  NS allows  quick access  to stored  news from  any given
period  of  time.  This  program  is started  by  typing  the monitor
command:  NS.  The  user can  then select  stories from  the  news by
typing  in   keyword  expressions  that   indicate  which   words  or
combinations of words  a story must contain  to be of  interest.  The
program will respond by telling  the user how many stories  match the
given expression,  and the  first part  of the  first such  story (if
there are any) will be presented to him.

As each story comes  in over one of  the wires, it is  categorized by
all the words occurring in it except for a small class of very common
words (such as  "the", "a", "and", etc.).   Before a word is  used to
categorize or retrieve stories, if  any one of the suffixes  -S, -ES,
-ING,  -ED  and  -LY  is present,  that  suffix  is  removed  so that
retrieval will not depend on the user's typing the exact form  of the
word  (singular or  plural noun  or verb;  present or  past  tense or
participle of a verb) that  occurs in the story.  These  suffixes are
removed in all  their forms: when a  letter is doubled  before adding
-ING or  -ED, the doubled  letter is removed  along with the  -ING or
-ED; and  suffixes formed  when a final  -Y is  changed to  -I before
adding -ES or -ED are removed correctly.

When a  keyword expression  is entered  by the  user, it  is compared
against the categorization lists to find all the stories that fit the
expression.   The keywords  used in  an expression  can be  any words
(consisting of letters only) except the few common words specifically
excluded  from  categorizations.  If  a  common word  is  used  in an
expression  by  mistake, the  program  will give  a  warning  to that
effect.

Presentation  of  news  to  users on  Stanford  displays  is  done by
displaying a screenful of text at a time.  News is presented on other
terminals by typing out a portion of a story at a time.
The News Service Program--NS                                   Page 3


(In all expressions and commands typed to NS, no distinction  is made
between upper-case letters and lower-case letters.)



                            Command lines


Command lines to NS consist of a command character  possibly followed
by a  text argument.   Some commands allow  a numerical  argument (in
decimal) to  precede the command  character.  Any  ALPHABETIC command
character that takes a following text argument MUST be separated from
its text argument by a space.  For example, LNEWS<cr> is illegal; use
L NEWS<cr>  instead.   Leading  spaces  are  also  allowed  (and  are
ignored) for all other text arguments.

On displays,  command characters can  be typed with  [CONTROL] and/or
[META]  instead of  being followed  by a  carriage return.   Any text
arguments, however, must be followed by carriage return.

Keyword  expressions are  entered as  text arguments  of  the command
character space.  The command  character colon (:) takes as  its text
argument  a  mnemonic command  name.   Keyword  expressions, mnemonic
commands and the other command characters will be explained later.

When  a command  character which  requires a  text argument  is typed
without it, an informative prompt will be made by NS to  explain what
the argument should be and NS will then await typing of the argument.

Help can be obtained from NS by typing the command character question
mark (?) followed by the name of a switch, mnemonic command,  or help
topic.  Typing a question mark by itself will cause NS to explain the
main command characters and list the available help topics.

Type altmode to abort a partially-typed command.



                         Keyword Expressions


To  retrieve  stories  using NS,  type  the  command  character space
followed  by  a KEYWORD  EXPRESSION,  which may  be  either  a single
keyword or an expression containing keywords and the operators  +, -,
and *.  Each keyword represents the set of all the stories  it occurs
in.   And  the  operators  represent  the  set  operations UNION (+),
INTERSECTION (*), and SET DIFFERENCE (-), which are performed  on the
Keyword Expressions                                            Page 4


sets of stories which the keywords represent.  Thus, if you  want all
stories that mention both President and Congress, you should  use the
keyword    expression    "PRESIDENT * CONGRESS";    the    expression
"PRESIDENT + CONGRESS"  represents  all stories  that  mention either
President  or  Congress;  and  "PRESIDENT - CONGRESS"  represents all
stories that mention President  but not Congress.  The  precedence of
operators is the normal one:  * takes precedence over + and  -, which
have equal precedence.  Operators with equal precedence are evaluated
from  left  to right.   Parentheses  may be  used  freely  in keyword
expressions.

To clarify all this a little, here are a few examples:

       Keyword Expression                        Meaning

---------------------------------    --------------------------------

(PRESIDENT-CONGRESS+WAR)*IMPEACH     All  stories  that  mention both
                                     IMPEACH and either (1) PRESIDENT
                                     and not CONGRESS or (2) WAR (and
                                     possibly CONGRESS).

CONGRESS-PRESIDENT-WAR-IMPEACH       All    stories    that   mention
                                     CONGRESS  but that  mention none
                                     of PRESIDENT, WAR and IMPEACH.

CHICAGO*PLANE + DETROIT*CAR - WAR    All stories that  mention either
                                     both CHICAGO  and PLANE  but not
                                     WAR, or both DETROIT and CAR but
                                     not WAR.

To facilitate finding specific stories, a couple of special forms are
permitted to be used  as keywords in keyword expressions.   The first
of these  is used to  represent all those  stories that  have certain
news  service  sequence  numbers.  (For  an  explanation  of sequence
numbers, see  the section  entitled "Comments on  the Format  of News
Service Stories".)   To represent all  stories with  sequence numbers
from N to  M, use the  form "#N:M".  This  form may occur  anywhere a
keyword may occur in  an expression.  The form "#N:N"  represents all
stories  with  sequence  number  N  and  may  be   abbreviated  "#N".
Furthermore, the  form "#0:99999" represents  all stories and  may be
abbreviated just  "#".  In  the form  "#N:M", if  N>M then  this form
represents all stories with sequence numbers greater than or equal to
N or less than or equal to M.

The second special form consists merely of a decimal number appearing
in place of a keyword.  If  a number K appears as the  FIRST argument
Keyword Expressions                                            Page 5


of an operation,  or as the only  term in a keyword  expression, then
that number represents  the most recent K  stories in the  news.  For
example,  "9 * PRESIDENT" represents,  of the  latest 9  stories, any
that mention President; and "5" represents the latest 5  news stories
(from  each  wire,  or  10  stories  altogether  if  both  wires  are
selected).   If a  number K  appears as  the SECOND  argument  of any
operation, then that number  represents the K most recent  stories of
the  other   (first)  argument  of   the  operation.    For  example,
"PRESIDENT * 10" represents the  10 most recent stories  that mention
President.

Below are some examples of these special forms in use.

        #2 + #202            All stories with either of these
                             sequence numbers. (These are the
                             usual  sequence  numbers  of the
                             AP news digests.)

        #325:23              All stories with sequence number
                             greater than or equal to 325  or
                             less than or equal to 23.

        #                    All stories.  Useful if you want
                             to peruse through the news.

        #321*BULLETIN        Stories with sequence number 321
                             that contain the word BULLETIN.

        5 - PRESIDENT        Of  the  latest  5  stories, all
                             that do not mention PRESIDENT.

        AP*NEWS*DIGEST*1     The latest AP news digest.

When you enter  a keyword expression  (which must follow  the command
character space), the program makes up a list of all the stories that
fit the  expression.  This  list is called  your CURRENT  STORY LIST.
When you type the next  keyword expression, a new current  story list
is generated  (unless no  stories fit your  new expression)  and your
former current story list is  saved as your PREVIOUS STORY  LIST.  If
you  want to  get back  the previous  story list,  use  the :EXCHANGE
mnemonic  command  (see   the  section  "Mnemonic   Commands")  which
exchanges your  current and  previous story  lists.  This  feature is
especially useful if  you are examining  news from several  days: For
each wire  being used, the  program must read  in one large  file for
each  day's  news under  consideration  every time  you  enter  a new
keyword expression.  Retrieving your previous story list is thus much
faster  than   reconstructing  it   through  a   keyword  expression,
especially when news from several days is being considered.
Keyword Expressions                                            Page 6


Your  current story  list can  be modified  without typing  again the
keywords you used to get it.  If a keyword expression starts  with +,
-, or *, the missing (first) operand is taken to be the  last keyword
expression  you  typed.  For  example,  if your  last  expression was
"PRESIDENT", you  can use  the expression  "*VIETNAM" to  get stories
that mention both PRESIDENT and VIETNAM.

A keyword  expression can  be preceded  and/or followed  by switches,
which affect the evaluation of the expression.  There are date, time,
and  mode  switches,  all  of  which  are  explained  in  the section
"Switches".

If you  want to use  exactly the same  expression you last  used, the
command character tab  can be used  optionally followed by  any date,
time, or temporary mode switches.  Also, on displays  [META]<cr> will
reload  your line  editor  with the  last command  line  containing a
keyword expression.

NS keeps  track of  the stories you  have seen.   When a  new keyword
expression  is evaluated,  any stories  found that  you  have already
looked at are removed from the new current story list.  The number of
stories so removed is reported along with the number of other stories
found.  To inhibit this removal of stories already seen,  change from
the initial /-AGAIN  mode to /AGAIN mode.   See the /AGAIN  switch in
the section "Switches".



                                Dates


When started up, NS expects to reference only the news that  has come
in today.  However,  by using the date  switches you can  select what
range of dates is to be considered in constructing a story  list from
a  keyword  expression.   Evaluating an  expression  for  a  range of
several days takes longer than evaluating one for just  today because
a separate data file must be read in by the program for each wire for
each day in the range.

The date range can be  set with the date switches.  The  /FROM switch
sets the beginning date of this range, the /TO switch sets the ending
date of  the range,  and the /ON  and /DURING  switches set  both the
beginning and ending dates.   Each of these switches requires  a date
to  be  typed  after the  switch.   This  date can  take  any  of the
following example forms:
Dates                                                          Page 7


               MEANING AS                   MEANING AS
DATE           BEGINNING DATE               ENDING DATE

TODAY          today                        today
YESTERDAY      yesterday                    same
SUNDAY         last Sunday before today     same
MONDAY         last Monday before today     same
 ...            ...                          ...
SATURDAY       last Saturday before today   same

24-MAY-74      24 May 1974                  same
74-MAY-24      24 May 1974                  same
MAY-24-74      24 May 1974                  same
MAY-24-1974    24 May 1974                  same
 ...
MAY-24         24 May of current year       same
24-MAY         24 May of current year       same
MAY-74         1 May 1974                   31 May 1974

MAY            1 May of current year        31 May of current year
24             24th day of current month    same
74             1 January 1974               31 December 1974
1974           1 January 1974               31 December 1974

No spaces are allowed  in the middle of  a date.  Dashes are  used to
connect parts of a  date (month, day and  year), which can be  in any
order.  Names of  months and days of  the week and the  words "TODAY"
and  "YESTERDAY" may  be  abbreviated to  three letters  (or  less if
unambiguous).

Here are some date switches  with dates and their effect on  the date
range.

/ON TODAY           Date range becomes today only.
/DURING MAY         Date range runs from  1 May to 31 May  of current
                    year.
/DURING 74          Date range runs from 1 Jan 1974 to 31 Dec 1974.
/FROM TUES/TO TOD   (This  is two  switches in  same  command.)  Date
                    range is from last  Tuesday (a week ago  if today
                    is a Tuesday) to today.
/ON WED             Date range is last Wednesday only.
/ON 24-MAY          Date range is 24 May of current year.
/ON YESTERDAY       Date range is yesterday only.
The Time Range                                                 Page 8



                           The Time Range


In addition to  being able to specify  the range of dates  from which
news is to  be retrieved, the user  can choose to consider  only news
that has come in after a given time and/or before another given time.
The combined time/date range  extends from a specifiable time  on the
beginning date to  another specifiable time  on the ending  date.  In
evaluating keyword expressions, only stories that have come in during
the time period given will be allowed to match the expression.

The beginning time is set with the /AFTER switch and the  ending time
with the /BEFORE  switch.  The beginning  time is cleared  whenever a
beginning  date is  given using  a date  switch; the  ending  time is
similarly cleared whenever an  ending date is given.  (The  times are
cleared  even if  the new  dates specified  are the  same as  the old
ones.)

The time range feature is especially useful if you read the news more
than once  on a given  day and do  not want to  see the  same stories
twice.  For instance, if you read the news in the afternoon  and have
run  NS at,  say,  11am, then  typing  "/AFTER 11"  will  prevent the
program from  retrieving stories that  you have already  read (except
when  new  parts have  come  in  and have  been  attached  to earlier
stories).

The /AFTER and /BEFORE switches  must be followed by a  time (Pacific
Time) in one of the following example formats:

          TIME   MEANING        TIME    MEANING

          0000   midnight       2400    midnight (day later)
          0500   5:00am         8:34a    8:34am
          0612   6:12am         9:45     9:45am
          11     11:00am        1056AM  10:56am
          12     noon           12:21   12:21pm
          13     1:00pm         2:22p    2:22pm
          1311   1:11pm         3:23pm   3:23pm
          435PM  4:35pm

The times 12am and 12pm, being somewhat ambiguous, are illegal: use 0
or 24  for midnight and  12 for  noon.  Note that  the times  0000 on
Wednesday and 2400  on Tuesday are the  same, but 0 and  24 Wednesday
are a day apart.

After  9pm Pacific  Time new  stories are  filed under  the following
The Time Range                                                 Page 9


day's date.  Thus if you have  no time limits and your date  range is
/FROM MONDAY/TO TUESDAY, then you may get stories with times anywhere
from 9pm SUNDAY to 9pm TUESDAY.

The  :DATES mnemonic  command will  type out  your  current time/date
range.   Also, if  you change  the time/date  range or  if  a keyword
expression is about  to be evaluated for  more than a two  day range,
the time/date range will be typed out.



                              Switches


A keyword expression (command character space) can be preceded and/or
followed by switches.  A switch  is a slash (/) followed by  the name
of  the switch,  possibly  followed by  an argument  for  the switch.
Switches are used for setting  the times and dates for  which stories
are to be retrieved and  for setting the modes in which  stories will
be presented.

Switches that  set modes  of presentation can  be set  temporarily or
permanently.  Any mode switches that FOLLOW a keyword expression on a
command  line are  interpreted as  TEMPORARY and  are in  effect only
during evaluation of  the current keyword expression--after  that the
permanent switch  values take effect  again.  Any mode  switches that
PRECEDE a keyword expression or that occur alone without  any keyword
expression are made  PERMANENT.  To enable a  mode, type a  slash (/)
followed by the  name of the switch,  e.g., "/CHRONO".  To  disable a
mode, type a slash (/) followed  by a minus sign (-) and the  name of
the switch, e.g., "/-CHRONO".

The  currently available  switches  are listed  and  explained below.
Switch  names  can be  abbreviated  to any  extent  that  leaves them
unambiguous.

TYPE      SWITCH  MEANING

Date Switches     Each of these switches  must be followed by  a date
                  argument.  The  argument format is  explained above
                  in  the  section  "Dates".  The  effect  of  a DATE
                  switch is PERMANENT  until changed by  another date
                  switch.
          /FROM   The  argument following  this switch  specifies the
                  beginning  date in  the  range of  dates  for which
                  stories are  to be  retrieved.  This  switch clears
                  any  beginning  time given  in  a  previous command
                  line.
Switches                                                      Page 10


          /TO     The  argument following  this switch  specifies the
                  ending date in the range of dates for which stories
                  are to be retrieved.  This switch clears any ending
                  time given in a previous command line.
          /ON     The  argument following  this switch  specifies the
                  entire   date  range.    This  switch   clears  any
                  beginning  and  ending  times  given   in  previous
                  command lines.
          /DURING This switch is identical to the /ON switch.

Time Switches     Each of these switches  must be followed by  a time
                  argument.  The  argument format is  explained above
                  in the section "The  Time Range".  The effect  of a
                  TIME switch is  PERMANENT until changed  by another
                  time switch or cleared by a date switch.
          /AFTER  The  argument following  this switch  specifies the
                  beginning time on the beginning date.
          /BEFORE The  argument following  this switch  specifies the
                  ending time on the ending date.

Mode Switches     Each of these can occur either in a  positive sense
                  (without a minus sign) or in a negative sense (with
                  a  minus  sign).   A mode  switch  is  TEMPORARY in
                  effect   only  when   occurring  after   a  keyword
                  expression; other  occurrences are  PERMANENT.  The
                  initial  modes in  effect  when NS  starts  up are:
                  /AP /NYT /-AGAIN /CHRONO /DPY /-HEADLI
          /AP     Use  the Associated  Press news  when  evaluating a
                  keyword expression.   In /-AP  mode, no  AP stories
                  will be  checked against expressions.   This switch
                  and   the  /NYT   switch  below   are  independent.
                  Together  they determine  what combination  of news
                  wires is used as the source of stories.
          /NYT    Use the  New York Times  News Service  stories when
                  evaluating a keyword expression.  In /-NYT mode, no
                  NY   Times   stories   will   be   checked  against
                  expressions.  See also the /AP switch above.
          /AGAIN  Do not remove from new story lists the stories that
                  have already been  presented (in part or  in whole)
                  to the  user.  In /-AGAIN  mode (the  default), all
                  stories  you have  actually seen  are  removed from
                  each  new   current  story  list   generated;  this
                  prevents stories  that you  have already  read from
                  being retrieved  again by new  keyword expressions.
                  When a  new part  (follow-up story)  is added  to a
                  story already seen, the whole story is  then marked
                  as  unseen so  that you  can access  the  new part.
Switches                                                      Page 11


                  When you  exit from NS,  the stories you  have seen
                  are remembered in a TMPCOR file, and when  you next
                  use NS  (from the  same job) this  file is  read to
                  restore the list of stories already seen.  See also
                  the  :UNSEEN  mnemonic  command,  which  marks  all
                  stories as unseen.
          /CHRONO Construct   story   lists  with   the   stories  in
                  chronological   order  (oldest   first).   /-CHRONO
                  causes  story lists  to be  constructed  in reverse
                  chronological order.
          /DPY    This switch is meaningful only when the  program is
                  running on a  Stanford display.  Such a  display in
                  /-DPY mode will be treated like a non-display.
          /HEADLI For each  story list constructed  with two  or more
                  stories, a headline story is added at the beginning
                  of the list.  This headline story will  contain the
                  first few  lines of  each story  in the  list.  The
                  positive  sense of  this switch  takes  an optional
                  argument consisting of an equals sign  (=) followed
                  by  a  number specifying  the  requested  number of
                  headline-story  lines  devoted to  each  real story
                  (e.g., "/HEADLI=5").  This number should be between
                  1 and 8 inclusive.  If the argument is omitted, the
                  default  number of  lines per  story will  be used;
                  this  default  is  currently  3.   See  the section
                  "Headline Stories".



                      Presentation of the News


Stories are presented to the user in an amount called a frame.

    If you are running NS from a Stanford display, each  frame is
    a screenful of text (about  30 lines) and a single  story can
    be made up of from  one to several frames, only one  of which
    can be displayed  at a time.   Consecutive frames of  a story
    overlap by half  a screenful.  A  double arrow (↔)  marks the
    middle of the screen to indicate where text will move to when
    the next frame is displayed.

    If you are running NS  from some other kind of  terminal, the
    first  frame  contains the  first  five lines  of  the story.
    (This lets you see what the story is about before the rest of
    it is typed  out.)  The remainder of  the story makes  up the
    second frame unless you have used the :FRAME mnemonic command
Presentation of the News                                      Page 12


    to  indicate the  number  of lines  you want  the  second and
    subsequent frames to contain.  For instance, if you have said
    "9:FRAME" then  each frame  after the first  one will  have 9
    lines, until either the end of the story is reached  or about
    20 frames have  been used.  In the  latter case, the  rest of
    the story will all be included in the last frame,  which thus
    may be longer  than the frame  size you have  indicated; this
    will not  happen unless  you have chosen  a very  small frame
    size (like 4 or 5).   The purpose of having a  settable frame
    size is to allow  users of display terminals (at  Stanford or
    elsewhere) to have the typeout stop before unread  parts have
    gone off screen.

After NS  has presented  a frame of  a story,  it will  await another
command.  There are several frame changing command characters used to
move around in your current story list.

Each story in the  current story list is  actually made up of  one or
more news service stories which  have been linked together by  the NS
system. Each one  of the news service  stories is called one  PART of
the  story from  your story  list.  The  frame changing  commands are
oriented towards  displaying either another  frame of the  same part,
another part  of the same  story or another  story in the  main list.
Furthermore, for each command that moves you forward a frame, part or
story, there is  a command that moves  you backward a frame,  part or
story.   Thus  there  are  the  following  six  basic  frame changing
commands, each of  which can be  preceded with a  numerical argument.
These six commands appear on the keyboard in two adjacent  columns of
three characters each. On Stanford displays, these command characters
activate immediately without any control bits or carriage return.

    U   Advance to the  next story in the  main story list.   If this
        command has a  numerical argument, advance that  many stories
        in the main list.

    I   Same as U but backup in main story list instead of advancing.

    - - -

    J   Advance to the  next part of  the current story.   If current
        part is the  last one, advance to  first part of  next story.
        If this command has  a numerical argument, advance  that many
        parts in the current story,  but not beyond the last  part of
        this story.

    K   Same as J but backup one or more parts instead  of advancing.
        If current part is the first one, backup to the last  part of
Presentation of the News                                      Page 13


        the previous  story.  With  an argument,  do not  backup past
        first part of current story.

    - - -

    M   Advance to the  next frame of  the current part.   If current
        frame is last  one, advance to first  frame of next  part (or
        next story if no more parts).  With an argument, advance that
        many frames  in current  part without  going beyond  the last
        frame of this part.

    ,   (comma) Same as  M but backup one  or more frames  instead of
        advancing.   If  current frame  is  first one  of  this part,
        backup to the last frame of the previous part (or  last frame
        of last part of previous story if current part is  first part
        of story).  With an argument, do not backup beyond  the first
        frame of the current part.

On non-displays, typing just a carriage return as a  command advances
to the next frame exactly like the M command above.  On  displays, no
carriage return is used with frame-changing commands.

On displays, typing one of the above six command characters  with the
[TOP]  key held  down is  the  same as  typing that  command  with an
argument of 99999.  This will advance (or backup) to the last (first)
frame, part or story depending on the command.


For  searching  your  current  story  list  for  a  keyword  or other
character string,  there are two  groups of three  command characters
each.  One  group is for  reading the string  to be searched  for and
then  searching  for it;  the  other  group is  for  searching  for a
previously specified string.  Within each group, there is one command
for searching  the whole  story list, one  for searching  the current
story (including all  of its parts), and  one for searching  just the
current part.  These six commands also appear on the keyboard  in two
adjacent columns of three characters each, as shown below.

 CHAR   MEANING AS COMMAND CHARACTER

 T      Read search string and search for it in current story list.
 G      Read search string and search in current story (all parts).
 B      Read search string and search only the the current part.
    Y   Search current story list for previous search string.
    H   Search current story (all parts) for previous search string.
    N   Search current part for previous search string.
Presentation of the News                                      Page 14


Any of the six command characters above may be preceded by  a decimal
argument which specifies how many occurrences of the string to search
for; the last occurrence will be displayed if enough are found.  Each
of the first  three command characters  above (T,G,B) takes  a search
string,  which must  be  separated from  the command  character  by a
space.  For example, T GOOD<cr> will search your story list for GOOD.
For all six search commands, if there is no search string,  the first
keyword in your  last expression will be  used as the  search string.
Only occurrences of the  search string preceded by a  non-letter will
be  found.  In  search  strings, a  space  will match  any  number of
consecutive  characters  all among:  space,  comma,  period, carriage
return,  linefeed;  the  character  down-arrow  (↓)  will  match only
carriage  return followed  by  linefeed.  Searching  starts  from the
current part or from the last place in that part the same  string was
found.



                          Mnemonic Commands


There are  several special commands  which use the  command character
colon  (:)  followed  by  a command  name.   These  are  the mnemonic
commands  and  they are  described  separately below.   Some  take an
optional  numeric argument,  which  should precede  the  colon (e.g.,
"15:FRAME").   The command  names  can be  abbreviated  provided they
remain unambiguous.

MNEMONIC
COMMAND       MEANING

:UNSEEN       Pretend  that no  stories  have been  presented  to the
              user.  This resets the list of stories already  seen to
              null so that no stories will be removed from  your next
              current  story  list  for  already  having  been  seen.
              Stories seen  after use of  this mnemonic  command will
              nevertheless be  added to the  (newly cleared)  list of
              stories seen, and the  state of the /AGAIN  mode switch
              (which see above) is unaffected by this switch.

:FRAME        Set the frame size for teletype-mode  news presentation
              to  the  number  of lines  indicated  by  the numerical
              argument.   For  example,  "15:FRAME"  will  cause  the
              second and subsequent frames of each story typed out to
              contain 15  lines (until the  end of the  story).  This
              command without an argument (":FRAME") resets the frame
              size to the  default of infinity.  See  the explanation
Mnemonic Commands                                             Page 15


              of  frame  size   at  the  beginning  of   the  section
              "Presentation of the News".

:HELP         Present some information on the use of NS.

:SWITCH       Type out the names of all the switches.

:MODES        Type out the current mode switch settings.

:DATES        Type  out the  current time/date  range and  the oldest
              date  for which  news  is available.   See  the section
              "Dates".

:REVERSE      Reverse the order  of the current story  list (changing
              the  order  of  only that  list  from  chronological to
              reverse chronological or vice versa).

:COUNT        Type out  the number  of stories  in the  current story
              list.

:EXCHANGE     Exchange the current story list and the  previous story
              list.  Then type out  the number of stories in  the new
              current story list.

:HEADLINES    Present the headline story for the current  story list,
              generating  that  headline  story  if  necessary.  This
              command  takes   an  optional  numeric   argument  that
              specifies the number of  lines of headline story  to be
              devoted to each  real story, e.g.,  "5:HEADLINES".  See
              the section "Headline Stories".

:DSTORY       Delete the current story from your current  story list.
              This  is  mainly  useful if  you  want  to  output your
              current story list to a file or a printer and there are
              a  few stories  you  do not  want to  output.   You can
              delete those stories with this and/or the next mnemonic
              command.

:DPART        Delete the current  part from your current  story list.
              This is similar to :DSTORY but only deletes one part of
              the current story instead of all of its parts.

:NOTICE       Present   the  NS   notice   of  the   day   (which  is
              automatically  presented  when  NS  starts  up).   That
              notice  is  used to  inform  users of  new  and changed
              features of NS.
Mnemonic Commands                                             Page 16


:COMMANDS     Type out the names  of all of these  mnemonic commands.
              Type ?COMMANDS to get a brief explanation of each one.



                          Headline Stories


Through  use of  either  the /HEADLI  mode switch  or  the :HEADLINES
mnemonic command,  a special  headline story  can be  generated which
will include  the first few  lines of each  story in your  main story
list.  Such a  headline story can allow  you to choose  which stories
you want to read in more detail.

The headline  story is created  in core by  reading in the  first few
lines of each  main story and combining  this text into  the headline
story.  The headline story is  not actually created until you  ask to
see  it.   To  create this  story  requires  NS to  do  about  5 disk
operations (as counted  in the wholine) per  main story in  the list.
Thus if there  are several hundred stories,  it will take  NS several
seconds to create this story.  However, once the story is created, it
is kept in core until you change story lists.  The headline  story is
inserted at the front of the story list and is referred to as story 0
in the list.

Text is packed  into the headline story  as tightly as  possible with
carriage returns, linefeeds, and redundant spaces omitted.  The first
line of each  entry in the headline  story begins with the  number of
the particular story within  your main story list.  This  is followed
by the story's sequence number and the day of the month the  story is
from.  Subsequent lines for the same story's entry are indented.  The
number of lines of headline  story devoted to each story in  the list
is always between 1 and 8 and is determined either by the user  in an
argument to the /HEADLI switch or to the :HEADLINES  mnemonic command
or  by  the  program  if  such  an  argument  is  not  given   or  is
unreasonable.   The  default  number  of  lines  of   headline  story
allocated to each  story is currently 3.   If there are  more stories
than can  be included in  the headline story,  the headline  story is
made up of stories from the front of the story list until  space runs
out, at which point "..." is placed at the end of the  headline story
to indicate that it is incomplete.

If you type <ESC>I (on a Stanford display) while a headline  story is
being made, the headline story will be left incomplete (and marked so
with "...") and then presented to you.
Command File Input                                            Page 17



                         Command File Input


NS can be made to read keyword expressions automatically from  a disk
file, pausing to  let the reader examine  each story list  before the
next expression  is read.  To  use this method  of input,  the reader
should set up  a command file containing  a line which  begins "NS:".
The  keyword  expressions  should  follow  the  "NS:"  with different
expressions separated by commas (,) and the last  expression followed
by  a semicolon  (;).  Carriage  returns, linefeeds,  formfeeds (page
marks),  tabs  and  nulls  are all  discarded  when  appearing  in an
expression read  from a command  file.  Probably the  most convenient
file to use for this  purpose is the file OPTION.TXT, which  can also
be used by other  programs for other special options.   The following
two command characters invoke reading from a command file.

 CHAR   MEANING AS COMMAND CHARACTER

  @     Open the following command file.  Then read and  evaluate the
        first keyword expression from the file.  The  default command
        filename OPTION.TXT  is used  if no  filename is  given.  The
        default extension .TXT is used if no extension is given.
  Q     Read another keyword  expression from the open  command file,
        if any.

For example,  @INP<cr> will open  the file INP.TXT,  look for  a line
beginning "NS:" and then read the keyword expression  following.  The
command @INP.<cr> will open and  read from the file INP.   Just @<cr>
will open and read from OPTION.TXT.

Every keyword expression read from  a command file will be  typed out
preceded by an at-sign (@) to indicate that it came from the file.

If you hit the  end of the current story  list with any of  the U,J,M
command  characters, another  expression will  automatically  be read
from your open command file, if any.

Here is a sample command file (OPTION.TXT):


LOGIN: WHO;
NS: AP*NEWS*DIGEST/-CHRONO/-NY/AP,
    BULLETIN+URGENT,(TRAIN+PLANE)*CRASH;
LOGOUT: ME;

This  file  contains  three  keyword  expressions.   The   first  one
Command File Input                                            Page 18


("AP*NEWS*DIGEST/-CHRONO/-NY/AP")  will  present the  latest  AP News
Digest.  The second expression is "BULLETIN+URGENT" and the  last one
is "(TRAIN+PLANE)*CRASH".



                            Output Files


Three command  characters are available  for outputting stories  to a
disk file or to one of the printers.  Each of these  characters takes
a  following  text argument  which  specifies the  output  device and
filename.

 CHAR   MEANING AS COMMAND CHARACTER

  O     Output the entire current story list.
  L     Output the current story (with all of its parts).
  .     (Period) Output just the current part.

Follow any of the above command characters with a space and either
        LPT:    (for spooling on the line printer)
        XGP:    (for spooling on the XGP)
OR a disk filename (for output  to a file).  The device names  can be
abbreviated but the  colon (:) must  be present.  The  default output
file extension .NS  is used if no  extension is given.   To exemplify
this, L FILEX<cr>  will output  your current story  (with all  of its
parts) to the disk file  FILEX.NS on your current disk  area (alias);
and O LPT:<cr> will spool the  entire current story list on  the line
printer.  When just  spooling is done, the  stories are written  in a
file on your real (logged-in)  disk area with a name  like $NEWS0.NS,
which will be spooled and deleted.

A disk filename can be  followed by one of the following  switches to
specify what action is to be taken if the file already exists:
        /REPLACE
        /EXTEND
        /ABORT
If none of these is present and the file already exists, you  will be
asked which of these actions should be taken.

Also, to  spool an  output file which  you want  to keep,  follow the
filename with either
        /SPOOL  (for spooling on the LPT)
or      /XSPOOL (for spooling on the XGP).

If you  type <ESC>I (on  a Stanford display)  while NS  is outputting
Output Files                                                  Page 19


stories to a file (whether  or not for spooling), the output  will be
discarded and any spooling suppressed.

Each story  output to a  file (whether for  spooling or not)  will be
followed in the  file by a row  of stars (*'s).  Individual  parts of
the same story will be separated by rows of dashes (-'s).  To let you
know how far the output has gotten, when the first (or only)  part of
a story is output, a dollar  sign ($) will be typed on  your terminal
and as each subsequent part of  the same story is output, a  dash (-)
will be typed out.



                   <ESCAPE>I Manual Interruptions


Certain operations done by NS may occasionally take long to complete.
The  user  (of  a  Stanford  display)  can  interrupt   certain  such
operations by typing <ESC>I.  This  will cause NS to stop what  it is
doing at the  next reasonable point and  return control to  the user.
(Although this  type of  interruption is  not currently  available on
non-displays, it may soon be implemented for such terminals through a
similar mechanism.)

The following operations can be interrupted:

    Making headline  stories.  If  you interrupt  NS while  it is
    doing  this,  the  headline  story  will  be  left incomplete
    (marked so by "..." at the end) but will be presented  to you
    as though it had been finished.

    Outputting stories to a  file.  If you interrupt NS  while it
    is doing this, the  output will be discarded.  If  the output
    file was to have been spooled, it will not be.

    Evaluating a  keyword expression.  NS  will finish  using the
    day's data that is in core when you interrupt and then return
    as if the evaluation of the expression had been completed.

    Automatic reading  of an  input command  file.  This  will be
    disabled by any use of <ESC>I.
Command Summary                                               Page 20



                           Command Summary


Here is a complete list of the command characters.  The first  two in
this list have not  been mentioned elsewhere.  Following  the command
character list are lists of the switches, mnemonic commands  and help
topics.

 CHARS   MEANINGS AS COMMAND CHARACTERS

   E     Exit to the monitor.  Use this command when you are finished
         reading the news.  If you decide after exiting that you were
         not finished, type the monitor command CONTINUE and you will
         be back to the exact place where you were before you exited.
   V     On displays, redraw the  current story frame on  the screen.
         On non-displays, type out the current frame again.
   ;     (Semicolon) Mail the  command line of  text to [NS,ME]  as a
         comment  or  suggestion  about  NS.   Please  feel  free  to
         complain about anything pertaining to NS.
   ?     (Question mark) Present  some helpful information  about the
         various commands.  If the  question mark is followed  by the
         name  of  a switch,  mnemonic  command or  help  topic, then
         information on that subject will be given.
 <space> Evaluate the keyword expression and/or switches that follow.
  <tab>  Evaluate last expression with following (optional) switches.
   /     Evaluate the switch(es) and optional expression that follow.
   :     Execute the following mnemonic command.
   @     Open following command file and read its first expression.
   Q     Read another expression from currently open command file.
 T-G-B   Search   for  the   following  string.    See   the  section
         "Presentation of the News".
 Y-H-N   Search for previous string or first keyword of expression.
 U-J-M   Move forward in story list by one story, part or frame.
 I-K-,   Move backward in the story list by one story, part or frame.
 O-L-.   Output current story list, current story or current part.

Any alphabetic command character that takes a following text argument
(currently the  Search commands  T,G,B and  the Output  commands O,L)
must  be  separated  from   its  text  argument  by  a   space.   The
frame-changing commands IK,UJM and digits which are part of a numeric
argument  all activate  immediately on  displays without  any control
bits or carriage return being typed.

Type <altmode> to abort a partially-typed command.
Command Summary                                               Page 21


On displays:

Type <ESC>I to interrupt a long process already started.
Type [META]<cr> to reload your line editor with the last command line
containing a keyword expression.


Here is a list  of the command characters organized  approximately as
they appear  on the  keyboard.  The  type of  text argument,  if any,
which follows each command character, is indicated.
- - - -
 <tab><temporary switches>     @<input filename>     ;<comment on NS>

 Q   E    T<search string>   Y   U   I   O<output filename or device>
          G<search string>   H   J   K   L<output filename or device>
       V  B<search string>   N   M   ,   .<output filename or device>

 <space><keyword expression>    :<mnemonic command>   ?<help subject>
- - - -


Below are the switches available, with brief explanations.   For help
on any of these, type the switch with a question mark (?)  instead of
a slash (/).

SWITCH  MEANING OF POSITIVE SETTING

/AGAIN  Do not remove stories already seen from new story lists.
/HEADLI Generate a headline story for each new story list.
/DPY    Treat the terminal as a display (only if it really is one).
/CHRONO Construct new story lists in chronological order.
/AP     Use the AP news as a source when evaluating an expression.
/NYT    Use the NYT news as a source when evaluating an expression.


Next is a list of the mnemonic commands with brief descriptions.  For
help on any of  these, type the command  with a question mark  (?) in
place of the colon (:).

COMMAND    DESCRIPTION

:HEADLINES Creates a headline story for your current story list.
:DSTORY    Deletes current story (all parts) from your current list.
:DPART     Deletes current part from your current story list.
:HELP      Explains the main command characters.
:NOTICE    Displays the current NS "notice of the day," if any.
:SWITCHES  Lists the available switches.
Command Summary                                               Page 22


:MODES     Lists your current mode switch settings.
:EXCHANGE  Exchanges your current and previous story lists.
:REVERSE   Reversus the order of your current story list.
:COUNT     Tells how many stories in your current story list.
:FRAME     Sets frame size for non-displays (precede with size).
:DATES     Types out current time/date range.
:UNSEEN    Clears the list of stories already seen.
:COMMANDS  Lists the names of these mnemonic commands.


Finally, here is the list of  help topics.  Type any of these  to get
help on that subject.

HELP TOPIC   DESCRIPTION

?OUTPUT      How to output stories to a file or a printer.
?SPOOL       Same as ?OUTPUT.
?CMDFILE     How to use an input command file.
?KEYWORDS    What constitutes a keyword or special form.
?EXPRESSIONS Construction of keyword expressions.
?MOVE        Frame moving command characters.
?SEARCH      Searching for a word in your current story list.
?CHARACTERS  Keyboard chart briefly explaining command characters.
?TOPICS      Lists of switches, mnemonic commands and help topics.
?EXAMPLES    Some example NS command lines.



                              Using NS


To start  NS, type  the monitor command:  "NS".  Any  characters that
follow  the NS  in the  monitor command  will be  taken as  the first
command line to NS.

The  NS  monitor  command  starts  the  program  with  some temporary
privileges that  are needed by  the program.  Any  subsequent monitor
command that attempts  to change your core  image or disk  ALIAS will
disable these privileges and prevent NS from working.

When started up, NS  will tell you for how  far back in time  news is
available.  Whenever awaiting a command, NS will type out a space and
a dot (" .") to prompt the user.  On non-displays, the space  and dot
may appear at the end of a line of text from the current story.
Comments on the Format of News Service Stories                Page 23



           Comments on the Format of News Service Stories


Each story received over one of the news wires has a  sequence number
which comes at the beginning of the story and a date and/or time that
come at the end.  After  the sequence number, we insert the  date and
time  (Pacific Time)  we received  the story.   The  sequence numbers
start over  every day, with  the first story  that comes  after about
midnight  Eastern  Time  getting  number  001.   The  sequence number
appearing at the beginning of  a story will have a one  letter prefix
that identifies the originating  news wire: "a" for  Associated Press
and "N" for New York Times.

Certain special stories are given sequence numbers out of  the normal
order; these  stories have  numbers greater  than 400  for the  AP or
greater than 100 for the New York Times.  The time at the end of each
story is put in by the  wire service and is generally the  local time
when the story was sent over the wire.

Every twelve hours (at about noon and midnight Eastern Time) there is
an AP news digest that summarizes the AP stories that are known to be
coming in  over the  next twelve  hours.  The  digest at  midnight is
usually story number  a002 and is called  the PMs digest; the  one at
noon is  usually number a202  and is called  the AMs digest.   No PMs
digest is sent  for Sunday.  AP stories  that have been  mentioned in
the latest digest bear the heading word "BJT" (pronounced "budget").

There are many stories every day that are corrections or additions to
previous stories.   We try to  link up each  such follow-up  with the
original and treat the  resultant combination as one story.   We call
each of the  separately numbered news service  stories a PART  of the
total story.  Long stories are usually broken up into smaller stories
by the wire services; the  partial stories are called TAKES  and each
gets its  own sequence  number.  We  sometimes link  together several
takes just  like additions and  corrections.  (There is  currently no
attempt to link up related NY Times stories.  Only AP stories  are so
linked.)